From c1a35afa5fc6b5e0dc8b6ecbe9202028c13aeb6a Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 25 Nov 2010 20:07:26 +0100 Subject: [PATCH] [broadway] Don't have mouse_in_toplevel point to hidden or destroyed window --- gdk/broadway/gdkwindow-broadway.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gdk/broadway/gdkwindow-broadway.c b/gdk/broadway/gdkwindow-broadway.c index 818ffacae9..eb9c4094fc 100644 --- a/gdk/broadway/gdkwindow-broadway.c +++ b/gdk/broadway/gdkwindow-broadway.c @@ -266,6 +266,13 @@ gdk_window_impl_broadway_finalize (GObject *object) wrapper = (GdkWindowObject*) draw_impl->wrapper; display_broadway = GDK_DISPLAY_BROADWAY (gdk_window_get_display (draw_impl->wrapper)); + + if (display_broadway->mouse_in_toplevel == GDK_WINDOW (wrapper)) + { + /* TODO: Send leave + enter event, update cursors, etc */ + display_broadway->mouse_in_toplevel = NULL; + } + g_hash_table_remove (display_broadway->id_ht, GINT_TO_POINTER(window_impl->id)); if (window_impl->cursor) @@ -495,6 +502,12 @@ gdk_window_broadway_hide (GdkWindow *window) queue_dirty_flush (display_broadway); } + if (display_broadway->mouse_in_toplevel == window) + { + /* TODO: Send leave + enter event, update cursors, etc */ + display_broadway->mouse_in_toplevel = NULL; + } + _gdk_window_clear_update_area (window); } -- 2.30.2